using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Xml;
using System.Web;
using System.Web.Services;
using Dimok.Exceptions;

////////////////////////////////////////////////////////////////////////////////////////////////////
// namespace: Dimok.NADA
//
// summary:	.
////////////////////////////////////////////////////////////////////////////////////////////////////

namespace Dimok.NADA
{
	/// <summary>
	/// Summary description for BlackBook.
	/// </summary>
	[WebService(Namespace="http://dimok.com/NADA/")]
	public class WS : System.Web.Services.WebService{

		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>	Default constructor. </summary>
		///
		/// <remarks>	Dimon, 11/23/2010. </remarks>
		////////////////////////////////////////////////////////////////////////////////////////////////////

		public WS()
		{
			//CODEGEN: This call is required by the ASP.NET Web Services Designer
			InitializeComponent();
		}

		#region Component Designer generated code
		
		//Required by the Web Services Designer 
		private IContainer components = null;

		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>	
		/// Required method for Designer support - do not modify the contents of this method with the code
		/// editor. 
		/// </summary>
		///
		/// <remarks>	Dimon, 11/23/2010. </remarks>
		////////////////////////////////////////////////////////////////////////////////////////////////////

		private void InitializeComponent()
		{
		}

		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>	Clean up any resources being used. </summary>
		///
		/// <remarks>	Dimon, 11/23/2010. </remarks>
		///
		/// <param name="disposing">	true if resources should be disposed, false if not. </param>
		////////////////////////////////////////////////////////////////////////////////////////////////////

		protected override void Dispose( bool disposing )
		{
			if(disposing && components != null)
			{
				components.Dispose();
			}
			base.Dispose(disposing);		
		}
		
		#endregion

		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>	Fetches the models. </summary>
		///
		/// <remarks>	Dimon, 11/23/2010. </remarks>
		///
		/// <exception cref="ClientException">	Thrown when client. </exception>
		///
		/// <param name="year">	The year. </param>
		/// <param name="make">	The make. </param>
		///
		/// <returns>	The models. </returns>
		////////////////////////////////////////////////////////////////////////////////////////////////////

		[WebMethod]
		public string[] FetchModels(int year,string make){
			try{
				return Fetch.Models(year,make);
			}catch(Exception exc){ throw new ClientException(exc); }
		}

		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>	Fetches the series. </summary>
		///
		/// <remarks>	Dimon, 11/23/2010. </remarks>
		///
		/// <exception cref="ClientException">	Thrown when client. </exception>
		///
		/// <param name="year">		The year. </param>
		/// <param name="make">		The make. </param>
		/// <param name="model">	The model. </param>
		///
		/// <returns>	The series. </returns>
		////////////////////////////////////////////////////////////////////////////////////////////////////

		[WebMethod]
		public string[] FetchSeries(int year,string make,string model){
			try{
				return null;
			}catch(Exception exc){ throw new ClientException(exc); }
		}

		////////////////////////////////////////////////////////////////////////////////////////////////////
		/// <summary>	Fetches a body styles. </summary>
		///
		/// <remarks>	Dimon, 11/23/2010. </remarks>
		///
		/// <exception cref="ClientException">	Thrown when client. </exception>
		///
		/// <param name="year">		The year. </param>
		/// <param name="make">		The make. </param>
		/// <param name="model">	The model. </param>
		/// <param name="series">	The series. </param>
		///
		/// <returns>	The body styles. </returns>
		////////////////////////////////////////////////////////////////////////////////////////////////////

		[WebMethod]
		public string[] FetchBodyStyles(int year,string make,string model,string series){
			try{
				return null;
			}catch(Exception exc){ throw new ClientException(exc); }
		}
	}
}
